Water marking in a data interval gap

ABSTRACT

A storage device in which file data is divided into multiple blocks for storage on a recording medium. The storage device includes an additional data storing section for storing additional data to be recorded on the recording medium in association with the data to be written, a position determining section for determining recording positions on the recording medium where the blocks should be respectively written, based on the additional data, and a block writing section for writing the respective blocks on the recording positions on the recording medium determined by the recording position determining section. The additional data thus defines a gap length between blocks of recorded data. During a read operation, if the gap length does not comport with the additional data, then an error is assumed.

This application claims the priority of Japanese Application Patent No. 2002-306830, filed on Oct. 22, 2002, and entitled “Storage Device, Program for Controlling Storage Device, Method for Controlling Storage Device and Recording Medium.”

BACKGROUND OF THE INVENTION

1. Technical Field

The present invention relates to a storage device, a program for controlling the storage device, a method for controlling the storage device and a recording medium. Particularly, the present invention relates to a storage device for recording additional data in association with data to be recorded when the data to be recorded is divided into multiple blocks and recorded on a recording medium, a program for controlling the storage device, a method for controlling the storage device and a recording medium.

2. Description of the Related Art

With a recent increase in demand for distribution of digital data, there have been developed methods for adding data for identifying digital data to the digital data. For example, Japanese Patent Publication No. 2001-518651 discloses a method for incorporating electronic watermarking data into digital data such as audio, video and image data.

Since the method of incorporating electronic watermarking data into digital data itself changes the original digital data, it is not appropriate to apply this method to digital data that cannot be changed, such as a program of an information processing system or accounting information. In such a case, therefore, a method of adding data to be used for identification of digital data without changing the digital data itself is desirable.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objects and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, where:

FIG. 1 shows a configuration of storage system 10 according to the embodiment of the present invention;

FIG. 2 shows a configuration of storage device 110 a according to the embodiment of the present invention;

FIG. 3 shows a writing process flow in storage device 110 a according to the embodiment of the present invention;

FIG. 4 shows a reading process flow in storage device 110 a according to the embodiment of the present invention;

FIG. 5 shows a reading process flow in storage device 110 a according to the modified embodiment of the present invention;

FIG. 6 shows data recording formats for recording medium 200 according to the embodiment of the present invention, in which (a) shows a case where additional data has been recorded multiple times, (b) shows a case where the recording position of second record data 630 b has been changed, and (c) shows a case where recording position change information is used; and

FIG. 7 shows a configuration of information processing device 100 according to the embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The present invention is now described below with reference to its embodiments. It should be noted, however, that the embodiments do not limit the scope of the invention defined by the claims, and all the combinations of features described in the embodiments are not necessarily essential for the invention to solve the problem.

FIG. 1 shows a configuration of a storage system 10 according to the embodiment. The storage system 10 according to the embodiment is provided with an information processing device 100 and storage devices 110 a and 110 b.

The information processing device 100 is connected to the storage devices 110 a and 110 b and accesses the storage devices 110 a and 110 b based on a request received from another information processing device connected via the network. In other words, when a data write request is received from another information processing device, the information processing device 100 sends the data to be written to a storage device 110 to which the data should be written and causes the storage device 100 to perform a writing process. On the contrary, when a data read request is received from another information processing device, the information processing device 100 causes a storage device 110 from which the data should be read to perform a reading process, and sends the read data to the information processing device requesting the data. Also, the information processing device 100 performs a copy operation between recording media of the storage devices 110 a and 110 b based on, for example, an instruction from a user of the storage system 10.

FIG. 2 shows a configuration of a storage device 110 a according to the embodiment. When dividing data to be written into multiple blocks and recording them on a recorded medium, the storage device 110 a according to the embodiment incorporates additional data as recording positions of the respective blocks. Thus, the additional data can be recorded on the recording medium without changing the data to be written.

The storage device 110 a is provided with a write-control section 210 and a read-control section 220 and uses a recording medium 200. Since the configuration of the storage device 110 b is almost the same as that of the storage device 110 a, the description thereof is omitted here.

The recording medium 200 records multiple blocks produced by dividing data to be written. A magnetic tape conforming to the LTO (Linear Tape-Open) standard, for example, is used as the recording medium 200 according to the embodiment. Alternatively, other recording media, such as a magnetic disk, an optical disk, a magneto-optical disk, and a semiconductor memory, may be used as the recording medium 200.

The write-control section 210 receives a write request and data to be written from the information processing device 100 and writes the data to be written to the recording medium 200. The write-control section 210 comprises an additional data storing section 230, a recording position determining section 235 and a block writing section 240.

The additional data storing section 230 stores additional data to be recorded on the recording medium 200 in association with the data to be written. In this case, the additional data may be electronic watermarking data including device identification information such as a serial number of the storage device 110 a, date and time of writing, identification information for the data to be written which is specified by a user of the storage device 110 a, a password for releasing a read restriction on the data to be written, and the like, which is added to identify the data to be written. Alternatively, the additional data may include various information, such as fault information for identifying a fault caused in writing onto the recording medium 200, which is usually concealed from the user of the storage device 110 a.

The recording position determining section 235 determines recording positions on the recording medium 200 where the blocks produced by dividing the data to be written are respectively written, based on the additional data acquired from the additional data storing section 230. By dividing the data to be written into multiple blocks and causing the recording position determining section 235 to specify recording positions where the respective blocks are written, the block writing section 240 writes the respective blocks to the recording positions on the recording medium that have been determined by the recording position determining section 235.

The read-control section 220 receives a read request from the information processing device 100 and reads data to be read, which has been divided into multiple blocks and recorded on the recording medium 200. The read-control section 220 comprises a block reading section 250, a recording position acquiring section 255, an additional data extracting section 260 and a block readout inhibiting section 265.

The block reading section 250 reads multiple blocks from the recording medium 200. The recording position acquiring section 255 acquires recording positions on the recording medium 200 where the respective blocks are recorded. The recording position acquiring section 255 then composes data to be read by putting together the read blocks, and sends it to the information processing device 100. In this case, the recording position acquiring section 255 may acquire from the block reading section 250 the recording positions specified by the block reading section 250 to read the respective blocks. The additional data extracting section 260 extracts additional data recorded on the recording medium 200 in association with the data to be read, from the recording positions corresponding to the blocks, respectively, which have been acquired by the recording position acquiring section 255. The additional data extracting section 260 sends the additional data to the information processing device 100 if it has been set to do so.

In the case where the additional data is electronic watermarking data, the block readout inhibiting section 265 inhibits the blocks from being read by the block reading section 250 if the additional data extracted by the additional data extracting section 260 does not correspond to electronic watermarking data to be recorded on the recording medium 200 in association with data to be written in a writing process. The block readout inhibiting section 265 according to the embodiment may use additional data stored in the additional data storing section 230 as electronic watermarking data to be recorded on the recording medium 200 in association with data to be written in a writing process. In this case, the additional data stored in the additional data storing section 230 may be data stored in advance, such as device identification information of the storage device 110 a, or data specified through the information processing device 100 when the recording medium 200 is read.

The following functions can be provided by the storage device 110 a described above.

(1) Case where Electronic Watermarking Data is Recorded as Additional Data:

The storage device 110 a can embed electronic watermarking data for identifying data to be written in a recording medium 200 as recording positions of the respective blocks produced by dividing the data to be written. Accordingly, identification information of a storage device which has performed writing to the recording medium 200, time and date of the writing, and the user who has requested the writing, for example, can be embedded in the recording medium 200 as electronic watermarking data, and it is possible to prove that the recording medium 200 has been completely copied illegally, based on such information.

In some storage devices, information on recording positions of the respective blocks is lost when the recording medium 200 is copied. In this case, it is possible to prove that a recording medium is a copied one by detecting that the same data as that on the recording medium 200 is recorded thereon and electronic watermarking data has been lost.

Furthermore, by inhibiting multiple blocks from being read by the block reading section 250 if recording positions of the blocks read from the recording medium 200 in a reading process of the recording medium 250 do not correspond to valid electronic watermarking data, it is possible to prevent the recording medium 200, from which the electronic watermarking data has been lost due to illegal copying, from being read.

(2) Case where Data Other than Electronic Watermarking Data is Recorded as Additional Data:

In the storage device 110 a, it is possible to record data, which usually cannot be read by a user of the storage system 10, on a recording medium 200 as additional data. For example, in the storage device 110 a, fault information for identifying a fault caused during writing to a recording medium is stored in the additional data storing section 230 and is written as additional data to a recording medium 200 together with data to be written. This allows a user or a manufacturer of the storage system 10 to identify a fault caused during writing by acquiring the additional data from the recording medium 200 in case of any error caused in writing to the recording medium 200.

FIG. 3 shows a writing process flow in the storage device 110 a according to the embodiment. When a write request is received from the information processing device 100, the storage device 110 a prepares additional data to be recorded on the recording medium 200 in association with data to be written and stores it in the additional data storing section 230 (S300). In this case, the additional data may be specified by a user of the storage system 10 and stored in the additional data storing section 230 via the information processing device 100, or it may be generated through conversion of the data to be written based on a predetermined algorithm, or it may be set in the additional data storing section 230 in advance when the storage device 110 a is manufactured.

Next, the block writing section 240 receives data to be written from the information processing device 100 and divides it into multiple blocks (S310). The recording position determining section 235 then determines recording positions on the recording medium 200 where the blocks divided by the block writing section 246 are respectively written (S320). The block writing section 240 writes the respective blocks to the recording positions on the recording medium determined by the recording position determining section 235 (S330).

FIG. 4 shows a reading process flow in the storage device 110 a according to the embodiment. Particularly, FIG. 4 shows a reading process in the case where portions of electronic watermarking data, for example, one bit data values are recorded on the respective recording positions of the blocks.

When a read request is received from the information processing device 100, the block reading section 250 sequentially reads each block (S400). Next, the recording position acquiring section 255 sequentially acquires a recording position of each block read by the block reading section 250 (S410). The additional data extracting section 260 then sequentially extracts additional data recorded on the recording medium 200 in association with the data to be read from each of the recording positions of the blocks that have been acquired by the recording position acquiring section 255 (S420).

If the recording position of one block acquired by the recording position acquiring section 255 does not correspond to the electronic watermarking data recorded on the recording medium 200 in association with the data to be written in the writing process, the block readout inhibiting section 265 determines that the extracted additional data is invalid (S430). More particularly, if the additional data extracted by the additional data extracting section 260 does not match the corresponding portion of the electronic watermarking data stored in the additional data storing section 230, then the block readout inhibiting section 265 determines that the additional data is invalid. If the additional data is determined to be invalid, the block readout inhibiting section 265 inhibits reading of the block that has been determined at S430 to be stored in a recording position that does not correspond to the electronic watermarking data, and subsequent blocks (S450). In response to this, the block reading section 250 stops reading of the blocks starting from that block. In this case, the block reading section 250 may read some blocks starting from that block before reading is stopped because the stop of reading is late, for example.

On the contrary, if the additional data is determined to be valid at S430, then the process from S400 to S430 is repeated until reading of the blocks is completed (S440).

Through the reading process described above, the storage device 110 a can sequentially extract the additional data that has been added in association with the data to be written in the writing process. The storage device 110 a can stop reading of the data from the recording medium 200 when the extracted additional data does not correspond to the electronic watermarking data.

FIG. 5 shows a reading process flow in the storage device 110 a according to a modified embodiment.

When a recording medium 200 is mounted on the storage device 110 a, the recording position acquiring section 255 scans multiple blocks included in the data written on the recording medium 200 to acquire multiple recording positions corresponding to the respective blocks (S500). Next, the additional data extracting section 260 extracts additional data recorded on the recording medium 200 in association with the data to be read, from the recording positions that have been acquired by the recording position acquiring section 255 (S510). When a read request is received from the information processing device 100, the block readout inhibiting section 265 determines that the additional data is invalid if the recording positions do not correspond to the electronic watermarking data which was recorded in association with the data to be written when the data was written to the recording medium 200 in the writing process (S520). If the additional data is determined to be invalid, the block readout inhibiting section 265 inhibits the blocks from being read by the block reading section 250. On the contrary, if the additional data is determined to be valid, the block reading section 250 reads the blocks and sends them to the information processing device 100.

According to the modified embodiment described above, the storage device 110 a can determine whether or not the additional data corresponding to the data recorded on the recording medium 200 is valid electronic watermarking data when the recording medium 200 is mounted thereon. The storage device 110 a can then inhibit data from being read from the recording medium 200 when the additional data is not correct electronic watermarking data.

FIG. 6 shows a data recording format in the case where the recording medium 200 is a magnetic tape in accordance with the LTO standard. The reference numerals 600 a to 600 c, 630 a to 630 c, and 690 denote block recording areas for recording the respective blocks obtained by dividing the data to be written. First attribute data 610 a to 610 c, second attribute data 640 a to 640 c, and Nth attribute data 670 are block attributes written in association with the first record data 600 a to 600 c, the second record data 630 a to 630 c, and the Nth record data 660, respectively. First gaps 620 a to 620 c, second gaps 650 a to 650 c, and an Nth gap 680 are block gaps each of which is to be provided between continuous blocks in the writing process.

FIG. 6( a) shows a recording format in the case where the same additional data is recorded multiple times. In the writing process, by determining sizes of the block gaps such as the first gap 620 a, the second gap 650 a and the Nth gap 680, based on additional data stored in the additional data storing section 230, the recording position acquiring section 255 determines the recording positions of the second record data 630 a, the Nth record data 660 and the Nth gap 680. For example, if the first data value of the additional data is “d1”, then the length of the first gap 620 a is set to 11, and if the first data value of the additional data is “d2”, then the length of the gap 620 a is set to 12, and so forth. Thus, the length of a block gap is determined based on each data value of the additional data. When the data value is a particular value such as 0, the corresponding length of a block gap may be set to 0. Thus, the recording medium 200 includes multiple block recording areas for recording the respective blocks obtained by dividing the data to be recorded, such as the first record data 600 a, the second record data 630 a, the Nth record data 660 and the (N+1)th record data 690, and the recording positions on the recording medium 200 for the block recording areas are determined based on the additional data recorded on the recording medium 200 in association with the data to be recorded. More particularly, the recording positions are determined by determining the sizes of the respective block gaps provided between continuous block storage areas based on the additional data.

In FIG. 6( a), the recording position determining section 235 groups the blocks obtained by dividing the data to be written into multiple groups and determines recording positions on the recording medium where the respective blocks included in each of the groups should be written, based on the additional data. That is, in FIG. 6( a), the blocks obtained by dividing the data to be written are grouped into a group including record data from the first record data 600 a to the (N−1)th record data and a group including the Nth record data 660 and subsequent record data, and the additional data is recorded in each block gap in each group. Accordingly, in the storage device 110 a, the additional data can be repeatedly written multiple times in association with the data to be written, so that correct additional data can be read out even when any fault is caused in one of the additional data.

FIG. 6( b) shows a recording format in the case where the recording position of the second record data 630 b has been changed. In the recording format of FIG. 6( b), when the respective blocks are written, the recording position determining section 235 determines multiple recording positions on the recording medium 200 where the blocks should be written, respectively, based on the additional data. The block writing section 240 then writes a block on one recording position selected from the multiple recording positions where the block should be written. That is, in the recording format of FIG. 6( b), when the second record data 630 b is written, the recording position determining section 235 determines multiple lengths such as l1, l1′ and l1″ for the first gap 620 b which is an example of a recording position on the recording medium 200 where the second record data 630 b should be written. The block writing section 240 then selects one writable recording position, for example, among those recording positions and writes the block there. Accordingly, the storage device 110 a can select a different recording position for writing in case of any fault caused in writing to the recording position determined by the recording position determining section 235.

FIG. 6( c) shows a recording format in the case where recording position change information is used, which indicates that a recording position determined based on the additional data has been changed. In FIG. 6( c), when it is impossible to write one block to a recording position on the recording medium 200 where that block should be written, the block writing section 240 writes that block and recording position change information indicating that the recording position of that block has been changed to another recording position different from the recording position where that block should be written. That is, in FIG. 6( c), the block writing section 240 cannot set the length l1 for the first gap 620 c where the second record data 630 c should be written, because of a fault caused in the writing process, for example. In this case, the block writing section 240 writes the second record data 630 c with a value different from the value determined based on the additional data set for the length of the first gap 620 c, and writes recording position change information “skipped”, which indicates that the recording position of the second record data 630 c has been changed, on the second attribute data 640 c. Thus, in the reading process, as a result of reading the recording position change information “skipped” recorded in the second attribute data 640 c, the recording position acquiring section 255 can recognize that the record position of the first gap 620 c is invalid and extract additional data from the second gap 650 c and subsequent gaps.

FIG. 7 shows an example of a hardware configuration of the information processing device 100 according to the embodiment. The information processing device 100 according to the embodiment comprises a CPU/peripheral part including a CPU 700, a RAM 720, a graphic controller 775 and a display device 780, which are mutually connected via a host controller 782; an input/output part including a communication interface 730, a hard disk drive 740, a CD-ROM drive 760 and a storage device interface 785, which are connected to the host controller 782 via an input/output controller 784; and a legacy input/output part including a ROM 710, a flexible disk drive 750 and an input/output chip 770, which are connected to the input/output controller 784.

The host controller 782 connects the RAM 720 with the CPU 700 and the graphic controller 775 which access the RAM 720 at a high transmission rate. The CPU 700 operates based on programs stored in the ROM 710 and the RAM 720 to control each part. The graphic controller 775 acquires image data that is generated in a frame buffer provided within the RAM 720 by the CPU 700 to display it on the display device 780. Alternatively, the graphic controller 775 may include therein a frame buffer for storing image data generated by the CPU 700.

The input/output controller 784 connects the host controller 782 with the communication interface 730, the hard disk drive 740, the CD-ROM drive 760 and the storage device interface 785, which are relatively high speed input/output devices. The communication interface 730 communicates with other devices via a network. The hard disk drive 740 stores programs and data to be used by the information processing device 100. The CD-ROM drive 760 reads a program or data from a CD-ROM 795 and provides it for the storage device interface 785 via the RAM 720 and the input/output controller 784. The input/output controller 784 accesses the storage devices 110 a and 110 b based on a request received by the communication interface 730 from other information processing devices connected via the network.

The ROM 710 and relatively low speed input/output devices, such as the flexible disk drive 750 and the input/output chip 770, are connected to the input/output controller 784. The ROM 710 stores a boot program to be executed by the CPU 700 at a startup time of the information processing device 100, and hardware dependent programs for the information processing device 100. The flexible disk drive 750 reads a program or data from a flexible disk 790 and provides it to the storage device interface 785 via the RAM 720 and the input/output controller 784. The input/output chip 770 connects the flexible disk 790 and also connects various input/output devices via, for example, a parallel port, a serial port, a keyboard port, and a mouse port.

A program to be provided by a user to the storage device 110 a or 110 b via the storage device interface 785 is stored in a recording medium such as the flexible disk 790, the CD-ROM 795, or an IC card. The program is read from the recording medium, installed in the storage device 110 a or 110 b via the input/output controller 784 and the storage device interface 785, and executed in the storage device 110 a or 110 b. Alternatively, each of the storage devices 110 a and 110 b may further include a flexible disk drive, a CD-ROM drive or an IC card reader so that a program is directly read from a recording medium for execution or read from the recording medium 200 for installation.

Programs to be installed and executed in the storage devices 110 a and 110 b include an additional data storing module, a recording position determining module, a block writing module, a block reading module, a recording position acquiring module, an additional data extracting module and a block readout inhibiting module. These programs or modules cause each of the storage devices 110 a and 110 b to function as an additional data storing section 230, a recording position determining section 235, a block writing section 240, a block reading section 250, a recording position acquiring section 255, an additional data extracting section 260 and a block readout inhibiting section 265.

The programs or modules described above may be stored in an external recording medium. As the recording medium, an optical recording medium such as a DVD or a PD, a magneto-optical recording medium such as an MD, a tape medium, a semiconductor memory such as an IC card, or other like medium may be used in addition to the flexible disk 790 and the CD-ROM 795. Furthermore, by using a storage device such as a hard disk or a RAM provided in a server system connected to a dedicated communication network or the Internet as a recording medium, a program may be provided to the storage device 110 a or 110 b via the network.

The information processing device 100 may request the storage device 110 a to read the data to be read and corresponding additional data from the recording medium 200 mounted on the storage device 110 a and request the storage device 110 b to write the read data and additional data on the recording medium 200 mounted on the storage device 110 b. Thus, the information processing device 100 can cause the additional data embedded in recording positions of multiple blocks recorded on the recording medium 200, which is mounted on the storage device 110 a, to be recorded on the recording medium 200 which is mounted on the storage device 110 b.

In this case, the information processing device 100 may change a part of the additional data received from the storage device 110 a to cause it to be recorded by the storage device 110 b. For example, the information processing device 100 may add to at least a part of additional data received from the storage device 110 a, information indicating that the data has been copied, sends the additional data to the storage device 110 b and causes it to be recorded on the recording medium 200 mounted on the storage device 110 b. Furthermore, the information processing device 100 may increment the number of times of copying indicated by copy frequency information included in at least a part of additional data received from the storage device 110 a, sends the additional data to the storage device 110 b, and causes it to be recorded on the recording medium 200 mounted on the storage device 110 b. Thus, the information processing device 100 can cause the information indicating that data has been copied or the information indicating the number of times of copying, to be recorded on the recording medium 200 mounted on the storage device 110 b.

While the present invention has been described using the embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. Various modifications or improvements may be made to the embodiments described above. It is apparent from the appended claims that the embodiments to which such modifications or improvements have been made should also be included in the technical scope of the present invention.

For example, if the recording medium 200 is a magnetic disk, an optical disk, or a magneto-optical disk, the recording position determining section 235 may determine recording positions such as tracks or sectors where the respective blocks are to be written, based on the additional data.

As is apparent from the above description, according to the present invention, it is possible to store digital data in a storage device with data, which is to be recorded in association with the digital data, added to the digital data without changing the original digital data to be written. 

1. A storage device in which file data is written on a recording medium, said file data being divided into multiple blocks for recording on said recording medium, said storage device comprising: an additional data storing section for storing additional data to be recorded on said recording medium in association with said file data to be written, said file data being unincorporated with said additional data; an error detecting section for detecting a write error on said recording medium and acquiring error information about said write error; a recording position determining section for: defining a block gap on said recording medium, said block gap having a length determined by said error information about said write error, and determining a recording position on said recording medium for a subsequent write that is said block gap away from a last error free write operation; and a block writing section for writing a subsequent block of data to said recording position on said recording medium, wherein said length of said block gap provides both a no-write zone for subsequent writes as well as a description of said write error.
 2. The storage device according to claim 1, wherein said recording medium is a magnetic tape.
 3. The storage device according to claim 1, wherein said additional data is electronic watermarking data for identifying said file data to be written, and said storage device further comprises: a block reading section for reading said multiple blocks from said recording medium; a recording position acquiring section for acquiring recording positions on said recording medium where said multiple blocks are respectively recorded; and a block readout inhibiting section for inhibiting said multiple blocks from being read by said block reading section when said reading positions acquired by said recording position acquiring section do not correspond to said electronic watermarking data to be recorded in association with said data to be written.
 4. The storage device according to claim 3, wherein said block reading section sequentially reads said multiple blocks; said recording position acquiring section sequentially acquires the recording positions of said multiple blocks read by said block reading section; and said block readout inhibiting section inhibits one block and subsequent blocks in said multiple blocks from being read when the recording position of said one block acquired by said recording position acquiring section does not correspond to said electronic watermarking data recorded in association with said file data to be written.
 5. The storage device according to claim 3, wherein said recording position acquiring section acquires the recording positions corresponding to said multiple blocks when said recording medium is mounted on said storage device; and said block readout inhibiting section inhibits said multiple blocks from being read by said block reading section when said recording positions do not correspond to said electronic watermarking data recorded in association with said file data to be written.
 6. The storage device according to claim 1, wherein said block writing section, when it is impossible to write one block to a recording position on said recording medium where said one block should be written, writes said one block as well as recording position change information indicating that the recording position of said one block has been changed to another recording position different from the recording position where said one block should have been written.
 7. A computer program product, storing on a computer usable medium, for recording file data, said file data being divided into multiple blocks and recorded on a recording medium, said computer program product comprising: program code for storing additional data to be recorded on said recording medium in association with said file data to be written, said file data being unincorporated with said additional data; program code for detecting a write error on said recording medium and acquiring error information about said write error; program code for defining a block gap on said recording medium, said block gap having a length determined by said error information about said write error; program code for determining a recording position on said recording medium for a subsequent write that is said block gap away from a last error free write operation; program code for writing a subsequent block of data to said recording position on said recording medium wherein said length of said block gap provides both a no-write zone for subsequent writes as well as a description of said write error. 